home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
basic
/
glib19.zip
/
GLIB19.NEW
< prev
next >
Wrap
Text File
|
1991-06-27
|
10KB
|
332 lines
GLib 1.90 and QuickBASIC
A. What's New in GLib 1.90 ??
With the addition of complete support for BASIC PDS 7.0 and 7.1,
we have had to make a slight change in the version designations. For
the forseeable future, GLib for QuickBASIC will continue as normal,
with the name and a version number (as in GLIB19.ZIP). To signify
support for the far string features in Extended QuickBASIC (supplied
with BASIC PDS), will use an x suffix (as in qbX) as in GLIB20x.ZIP.
Additionally, we will try to make it clearer by using ODD numbers for
QB 4.5 etc, and EVEN numbers for PDS support (ie there will never be a
GLib 2.0 _and_ GLib 2.0/x available). So the next GLib for QB 4.5+
would be GLib 2.1 while the next for PDS will be GLib 2.2/x.
Most all of the enhancements in GLib 2.01x have been ported
(back ported?) to GLib 1.9 for QuickBASIC.
*** Greater inter-routine dependency ***
Since GLib has a comprehensive base of fundamental routines, it
is now possible to make the many routines highly dependant on each
other. For example, QPrint, PGetCh and DialogBox (among others) will
all require a certain amount of common code to quickly print text to
the screen. GLib 1.90 has become highly integrated so as not to
replicate that code over and over and over thus reducing the overall
size. Registered users will find most of these support routines in
object modules with the name beginning with an underscore (eg:
_vtype.obj).
*** More integrated options ***
Building on the inherent abilities of the library, integral options
have been added to the more complex routines: eg PGetCh and DialogBox
can be set to emit a tone each time they are called, or
disabled. Another example is that virtually all the video routines
allow for automatic mouse control! Rather than calling MCsrDec before
each QPrint or Save/Restore screen call and then calling MCsrInc
afterwards, early in your program you can set a 'global' variable that
will automatically turn off the mouse cursor, perform the operation
and then turn the mouse cursor on again! Now, that's helpful!
*** Superior string handling techniques ***
We introduced this in GLib 1.65 (with no mention or fanfare) to a
few routines to see how well it worked in the long haul. Since it not
only works well, but is easier to use, we have converted many routines
that were previously subs returning significant strings to functions.
Even with the new far strings, we are able to continue to be able
to CREATE new strings from many of the calls and return the result of
the routine as a function. (We are watching to see how quickly
others 'clone' this elegant interface!)
For example:
Old way:
ok$ = " " ' MUST create string space
CALL GetCh("QWERTY", ret$)
New way:
ret$ = GetCh$("QWERTY") ' routine creates it!
GLib will CREATE a new string pointer and assign it to ret$ upon
the return. See the compleat listing below.
*** Changes to GLib names or functionality ***
BASIC 7.0/7.1 introduced several new inherent functions that
invalidated the need for a few GLib functions. While these remain a
part of the library for backward code capability, names may need to be
changed to avoid conflicts. (Many of these BASIC PDS syntax changes
do not directly affect QB 4.5 users, but in an effort to maintain
campatibility and code portability, we'll changes these in libraries
for QB as well):
-> BASIC PDS finally has a new function named DIR that conflicts
with our own. Our Dir routine has been renamed to DIRA (as in
DirArray) to avoid conflict with Dir$
-> Several subs returning a string have been enhanced to be
functions returning a string. With GLib creating the string
to return to you, you no longer have to be so careful in pre-
allocating string space. String subs that are now functions:
- GetCh - DialogBox - DeciBin
- PGetCh - PCase - SubDirGet
- PrgName - LastNFirst - ReverseString
- VLabelGet - ArgV - ExpandPath
*** New Features / Support ***
o We can now supply GLib on 720k 3.5 inch disks.
o Over 40 new routines, bringing the total to close to 300!:
* Plus additional features integrated into existing routines:
- FlexMenu now includes a definable Mark All key allowing
the end user to Mark All selections as selected
- DialogBox has been greatly improved and modified to
resemble the one originally developed for BASIC PDS.
These are now dead look alikes for the Dialog Boxes used
in QB, QBX, Codeview et al. Also, an automatic beep tone
option has been added. We love this so much, that we
rarely use old fashioned windows or boxes any more:
DialogBox performs all our message display and prompting
as well as all KB I/O!
- Sound, Color and location control have been added to
DialogBox for those who dislike the SAA apprearance.
- MFed now supports an embedded Exit key stroke in Macros:
appending CHR$(13) to a macro will instruct MFed to exit
once the preceding text has been fed into the field, MFed
exits with return code 0. No need for the user to tap
another key just to exit! This feature works as long as
insert is off and the macro fits with FSize.
B. GLib 1.90 New Routine Summary
- Soundex support! Imagine your end user scanning a large
database for a customer based on what the name SOUNDS like
rather than how it is SPELLED! Our Soundex routine (2 of
them actually) allow you to encode a word or name to speed
up search and retrieve and hashing procedures.
- BitChkInt, BitSetInt, BitClrInt, BitChkLng, BitSetLng and
BitClrLng allow for integer and long integer bit
manipulation
- BoxesFrame allows you to highlight or box text on screen
or just display a 'see thru' type box frame on screen.
- Disable or enable the mouse driver.
- Clear desired portions of the screen with ClrEOL (Clear to
End Of Line), ClrSOL (Clear from Start Of Line), ClrEOS
(Clear to End of Screen) and ClrSOS (Clear from Start of
Screen).
- Convert integers to binary strings. DeciBin works like
BASIC's HEX$ to convert a number to binary.
- Determine file handle capability quickly. FHandlesFree,
FHandlesMax and FHandlesUsed return the number of file
handles available, maximum allowed open at once on the
system and the number in use. Great for applications
running on networks (especially file servers!).
- KeyLock